Soru & Cevap

BottomBar Fragments sorunu - ANDROiD uzmanları çözer bence ...

19.08.2016 - 12:13

Android için ekranın altında yer alan bir bottom bar kullanıyorum. Gerçekten harika.
Yaşadığım ciddi bir sorun var arkadaşlar. Çözecek kişi bence Android olayını aşmış kişidir.

Sorun şu:  BottomBar içindeki tab’ların her birinde ayrı bir Fragment çağırıyorum. Ama her defasında fragmenti yeniden oluşturuyor. Hafızada tutmuyor. Bu konuda sorun yaşayan çok kişi var. Ama çözüm bulan olmamış adam akıllı.

Benim istediğim şey bunun gibi bir bottombar kullanmak. Ama BottomBar’daki tablar arasında gezinirken tablara her tıkladığımda Fragment’ler sürekli yeniden oluşturulmamalı. Bildiğiniz başka bir  yöntem varsa veya sorunu çözebiliyorsanız lütfen cevap yazarak paylaşın.

4 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user gmyucalfarukeren
gmyucalfarukeren
19.02.2023 - 07:45

Merhaba! Bu sorun genellikle Fragment'lerin yaşam döngüsü ile ilgilidir. Eğer Fragment'leriniz her taba tıklandığında yeniden oluşturuluyorsa, muhtemelen Fragment'lerinizin yaşam döngüsünde bir hata yapıyorsunuz demektir

Fragment'lerinizin yeniden oluşturulması yerine, Fragment'lerin önceki durumlarını hafızada tutarak bu durumları geri yüklemesi gerekiyor. Bu durumları geri yüklemek için Fragment'lerin onSaveInstanceState metodunu kullanabilirsiniz

onSaveInstanceState metodunu, Fragment'ın hafızadaki durumunu kaydetmek için kullanabilirsiniz. Bu durum, Fragment yeniden oluşturulduğunda onCreate metodunda geri yüklenebilir

Bununla birlikte, onSaveInstanceState metodunu kullanmak çözüm olmayabilir. Bu durumda, Fragment'ları yönetmek için FragmentManager sınıfını kullanarak her Fragment'ın yalnızca bir kez oluşturulmasını sağlayabilirsiniz

FragmentManager'ı kullanarak, Fragment'larınızı kontrol edebilir ve aynı Fragment'ı tekrar tekrar oluşturmanızı önleyebilirsiniz. Bunun için Fragment'ı FragmentManager ile bulun, eğer bulunursa onu yeniden kullanın, bulunamazsa yeni bir Fragment oluşturun

Profile picture for user gmyucalfarukeren
gmyucalfarukeren
19.02.2023 - 07:39

Merhabalar Burhan Bey,

Bu sorun genellikle Fragment'lerin yaşam döngüsü ile ilgilidir. Eğer Fragment'leriniz her taba tıklandığında yeniden oluşturuluyorsa, muhtemelen Fragment'lerinizin yaşam döngüsünde bir hata yapıyorsunuz demektir

Fragment'lerinizin yeniden oluşturulması yerine, Fragment'lerin önceki durumlarını hafızada tutarak bu durumları geri yüklemesi gerekiyor. Bu durumları geri yüklemek için Fragment'lerin onSaveInstanceState metodunu kullanabilirsiniz

onSaveInstanceState metodunu, Fragment'ın hafızadaki durumunu kaydetmek için kullanabilirsiniz. Bu durum, Fragment yeniden oluşturulduğunda onCreate metodunda geri yüklenebilir

Bununla birlikte, onSaveInstanceState metodunu kullanmak çözüm olmayabilir. Bu durumda, Fragment'ları yönetmek için FragmentManager sınıfını kullanarak her Fragment'ın yalnızca bir kez oluşturulmasını sağlayabilirsiniz

FragmentManager'ı kullanarak, Fragment'larınızı kontrol edebilir ve aynı Fragment'ı tekrar tekrar oluşturmanızı önleyebilirsiniz. Bunun için Fragment'ı FragmentManager ile bulun, eğer bulunursa onu yeniden kullanın, bulunamazsa yeni bir Fragment oluşturun